package br.net.atasacramental.organizacao.business;
import br.net.atasacramental.organizacao.dao.OrganizacaoLancamentoDAO;
import br.net.atasacramental.organizacao.model.OrganizacaoLancamento;
import br.net.atasacramental.organizacao.model.OrganizacaoOrcamentoView;
import java.util.List;

import under.wsl.service.Service;
/**
 * @author alexandre.araujo
 */
public class OrganizacaoLancamentoBLL {
    private OrganizacaoLancamentoDAO dao = null;
    public OrganizacaoLancamentoBLL() {
        this.dao = new OrganizacaoLancamentoDAO();
    }
    @Service(cache=true)
    public List<OrganizacaoLancamento> get(){
        return this.dao.get();
    }
    
    @Service()
    public OrganizacaoLancamento getByIdOrganizacaoLancamento(int idOrganizacaoLancamento) {
        return this.dao.getByIdOrganizacaoLancamento(idOrganizacaoLancamento);
    }
    
    @Service()
    public List<OrganizacaoLancamento> getByIdTrimestre(int idTrimestre) {
        return this.dao.getByIdTrimestre(idTrimestre);
    }
	
	@Service()
    public List<OrganizacaoLancamento> getByIdOrganizacao(int idOrganizacao) {
        return this.dao.getByIdOrganizacao(idOrganizacao);
    }
    
    @Service()
    public List<OrganizacaoLancamento> getByDescricao(String descricao) {
        return this.dao.getByDescricao(descricao);
    }
    
    @Service(remove={"OrganizacaoLancamentoBLL.get"})   
    public int insert(OrganizacaoLancamento o){    
        if(this.dao.insert(o)){            
            return o.getIdOrganizacaoLancamento();
        }
        return 0;
    }
    @Service(remove={"OrganizacaoLancamentoBLL.get"})
    public boolean update(OrganizacaoLancamento o){
        return this.dao.update(o);
    }
    @Service(remove={"OrganizacaoLancamentoBLL.get"})
    public boolean delete(OrganizacaoLancamento o){
         return this.dao.delete(o);
    } 
    
    @Service()
    public List<OrganizacaoOrcamentoView> getOrcamento(){
    	return this.dao.getOrcamento();    	
    }
    @Service()
    public OrganizacaoOrcamentoView getDadosOrcamento(OrganizacaoLancamento o){
    	return this.dao.getDadosOrcamento(o);    	
    }
    
    @Service()
    public List<OrganizacaoOrcamentoView> getOrcamentoByOrganizacaoTrimestre(int idOrganizacao,int idTrimestre){
    	return this.dao.getOrcamentoByOrganizacaoTrimestre(idOrganizacao,idTrimestre);
    }
}
